package rdb

import (
	"context"
	"example_shorten/conf"
	"fmt"

	"github.com/redis/go-redis/v9"
)

func Init() (*redis.Client, error) {
	// 定义一个 Redis 类型的变量 c，用于存储数据库配置信息
	var c conf.Redis
	// 调用 c 的 GetConf 方法获取数据库配置信息
	conf := c.GetConf()
	// 创建 Redis 客户端
	rdb := redis.NewClient(&redis.Options{
		Addr:     fmt.Sprintf("%s:%s", conf.Host, conf.Port),
		Password: conf.Password, // no password set
		DB:       conf.Database, // use default DB
	})
	if err := rdb.Ping(context.Background()).Err(); err != nil {
		panic(err)
	}
	return rdb, nil
}
